| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

EntityRenderLodSlot.h
1 // EntityRenderLodSlot.h
3 //
5
6 namespace nkGraphics
7 {
14 class EntityRenderLodSlot final : public nkExport::Exportable
15 {
16 public :
17
18 // Constructor, destructor
22 EntityRenderLodSlot () noexcept ;
29 EntityRenderLodSlot (Mesh* mesh, Shader* shader) noexcept ;
33 virtual ~EntityRenderLodSlot () ;
34
35 // Getters
39 const BoundingBox& getBounds () const ;
43 Mesh* getMesh () const ;
49 Shader* getShader () const ;
53 Shader* getRaytracingShader () const ;
57 float getQualityMetric () const ;
64 Shader* getActiveShader () const ;
68 EntityRenderInfoSlot* getParentSlot () const ;
72 Entity* getParentEntity () const ;
73
74 // Setters
80 void setMesh (Mesh* value) ;
87 void setShader (Shader* value) ;
93 void setRaytracingShader (Shader* value) ;
101 void setQualityMetric (float value) ;
106 void setDirtyNodeTransform (bool value) ;
107
108 // Updates
113 void meshBoundsUpdated () ;
118 void meshLayoutUpdated () ;
119
120 // Utilities
125 bool isCompatibleWith (Shader* shade) const ;
130 void updateActiveShader () ;
131
132 // Import / Export
133 virtual void exportClassToTree (nkExport::Node* rootNode) override ;
134 virtual void importClassFromTree (nkExport::Node* rootNode) override ;
135 } ;
136 }
nkGraphics::EntityRenderLodSlot::exportClassToTree
virtual void exportClassToTree(nkExport::Node *rootNode) override
nkGraphics::EntityRenderLodSlot::getBounds
const BoundingBox & getBounds() const
nkGraphics::EntityRenderLodSlot::setQualityMetric
void setQualityMetric(float value)
nkExport::Exportable
An interface to define objects that can be exported using this component.
Definition: Exportable.h:15
nkGraphics::BoundingBox
A bounding box. Often used to encompass object's bounds in the world.
Definition: BoundingBox.h:14
nkGraphics::EntityRenderLodSlot::setDirtyNodeTransform
void setDirtyNodeTransform(bool value)
nkGraphics::EntityRenderLodSlot
A LOD slot to potentially draw, within a group slot.
Definition: EntityRenderLodSlot.h:15
nkExport
Encompasses all API of component NilkinsExport.
Definition: Base64Encoder.h:7
nkGraphics::EntityRenderLodSlot::getShader
Shader * getShader() const
nkGraphics::EntityRenderLodSlot::isCompatibleWith
bool isCompatibleWith(Shader *shade) const
nkGraphics::Shader
A shader class, feeding data to a Program.
Definition: Shader.h:16
nkGraphics::EntityRenderLodSlot::setShader
void setShader(Shader *value)
nkGraphics::EntityRenderLodSlot::meshLayoutUpdated
void meshLayoutUpdated()
nkGraphics::EntityRenderLodSlot::getActiveShader
Shader * getActiveShader() const
nkGraphics::Entity
An entity in a render queue. It drives the shader and possible graph position for a set of renderable...
Definition: Entity.h:15
nkGraphics::EntityRenderLodSlot::setMesh
void setMesh(Mesh *value)
nkGraphics::EntityRenderLodSlot::updateActiveShader
void updateActiveShader()
nkGraphics::EntityRenderLodSlot::getRaytracingShader
Shader * getRaytracingShader() const
nkGraphics::EntityRenderLodSlot::importClassFromTree
virtual void importClassFromTree(nkExport::Node *rootNode) override
nkGraphics::EntityRenderLodSlot::meshBoundsUpdated
void meshBoundsUpdated()
nkGraphics::EntityRenderLodSlot::setRaytracingShader
void setRaytracingShader(Shader *value)
nkGraphics::EntityRenderLodSlot::getMesh
Mesh * getMesh() const
nkGraphics::EntityRenderInfoSlot
A slot within the render information.
Definition: EntityRenderInfoSlot.h:14
nkGraphics::EntityRenderLodSlot::getQualityMetric
float getQualityMetric() const
nkGraphics::Node
Represents a node in a scene graph.
Definition: Node.h:16
nkGraphics
Encompasses all API of component NilkinsGraphics.
Definition: BoundingBox.h:7
nkGraphics::EntityRenderLodSlot::getParentSlot
EntityRenderInfoSlot * getParentSlot() const
nkGraphics::Mesh
Holds information about a mesh. Used as a basis to render 3d models.
Definition: Mesh.h:14
nkGraphics::EntityRenderLodSlot::getParentEntity
Entity * getParentEntity() const
nkGraphics::EntityRenderLodSlot::EntityRenderLodSlot
EntityRenderLodSlot() noexcept